<?php

namespace colciencias\Bundle\WebBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * Evaluaciones
 *
 * @ORM\Table(name="EVALUACIONES", indexes={@ORM\Index(name="IDX_EF4A1F5FE2C96A6D", columns={"CONVOCATORIAS_ID"}), @ORM\Index(name="IDX_EF4A1F5F954B1C5E", columns={"EVALUACIONES_FINALES_ID"}), @ORM\Index(name="IDX_EF4A1F5F7D416687", columns={"PROPUESTAS_ID"})})
 * @ORM\Entity
 */
class Evaluaciones
{
    /**
     * @var string
     *
     * @ORM\Column(name="CONCEPTO", type="string", length=100, nullable=false)
     */
    private $concepto;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="FECHA", type="datetime", nullable=false)
     */
    private $fecha;

    /**
     * @var string
     *
     * @ORM\Column(name="RECOMENDACION", type="string", length=150, nullable=false)
     */
    private $recomendacion;

    /**
     * @var integer
     *
     * @ORM\Column(name="ID", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="SEQUENCE")
     * @ORM\SequenceGenerator(sequenceName="EVALUACIONES_ID_seq", allocationSize=1, initialValue=1)
     */
    private $id;

    /**
     * @var \colciencias\Bundle\WebBundle\Entity\Propuestas
     *
     * @ORM\ManyToOne(targetEntity="colciencias\Bundle\WebBundle\Entity\Propuestas")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="PROPUESTAS_ID", referencedColumnName="ID")
     * })
     */
    private $propuestas;

    /**
     * @var \colciencias\Bundle\WebBundle\Entity\EvaluacionesFinales
     *
     * @ORM\ManyToOne(targetEntity="colciencias\Bundle\WebBundle\Entity\EvaluacionesFinales")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="EVALUACIONES_FINALES_ID", referencedColumnName="ID")
     * })
     */
    private $evaluacionesFinales;

    /**
     * @var \colciencias\Bundle\WebBundle\Entity\Convocatorias
     *
     * @ORM\ManyToOne(targetEntity="colciencias\Bundle\WebBundle\Entity\Convocatorias")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="CONVOCATORIAS_ID", referencedColumnName="ID")
     * })
     */
    private $convocatorias;

    /**
     * @var \Doctrine\Common\Collections\Collection
     *
     * @ORM\ManyToMany(targetEntity="colciencias\Bundle\WebBundle\Entity\Criterios", mappedBy="evaluaciones")
     */
    private $criterios;

    /**
     * Constructor
     */
    public function __construct()
    {
        $this->criterios = new \Doctrine\Common\Collections\ArrayCollection();
    }


    /**
     * Set concepto
     *
     * @param string $concepto
     * @return Evaluaciones
     */
    public function setConcepto($concepto)
    {
        $this->concepto = $concepto;

        return $this;
    }

    /**
     * Get concepto
     *
     * @return string 
     */
    public function getConcepto()
    {
        return $this->concepto;
    }

    /**
     * Set fecha
     *
     * @param \DateTime $fecha
     * @return Evaluaciones
     */
    public function setFecha($fecha)
    {
        $this->fecha = $fecha;

        return $this;
    }

    /**
     * Get fecha
     *
     * @return \DateTime 
     */
    public function getFecha()
    {
        return $this->fecha;
    }

    /**
     * Set recomendacion
     *
     * @param string $recomendacion
     * @return Evaluaciones
     */
    public function setRecomendacion($recomendacion)
    {
        $this->recomendacion = $recomendacion;

        return $this;
    }

    /**
     * Get recomendacion
     *
     * @return string 
     */
    public function getRecomendacion()
    {
        return $this->recomendacion;
    }

    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set propuestas
     *
     * @param \colciencias\Bundle\WebBundle\Entity\Propuestas $propuestas
     * @return Evaluaciones
     */
    public function setPropuestas(\colciencias\Bundle\WebBundle\Entity\Propuestas $propuestas = null)
    {
        $this->propuestas = $propuestas;

        return $this;
    }

    /**
     * Get propuestas
     *
     * @return \colciencias\Bundle\WebBundle\Entity\Propuestas 
     */
    public function getPropuestas()
    {
        return $this->propuestas;
    }

    /**
     * Set evaluacionesFinales
     *
     * @param \colciencias\Bundle\WebBundle\Entity\EvaluacionesFinales $evaluacionesFinales
     * @return Evaluaciones
     */
    public function setEvaluacionesFinales(\colciencias\Bundle\WebBundle\Entity\EvaluacionesFinales $evaluacionesFinales = null)
    {
        $this->evaluacionesFinales = $evaluacionesFinales;

        return $this;
    }

    /**
     * Get evaluacionesFinales
     *
     * @return \colciencias\Bundle\WebBundle\Entity\EvaluacionesFinales 
     */
    public function getEvaluacionesFinales()
    {
        return $this->evaluacionesFinales;
    }

    /**
     * Set convocatorias
     *
     * @param \colciencias\Bundle\WebBundle\Entity\Convocatorias $convocatorias
     * @return Evaluaciones
     */
    public function setConvocatorias(\colciencias\Bundle\WebBundle\Entity\Convocatorias $convocatorias = null)
    {
        $this->convocatorias = $convocatorias;

        return $this;
    }

    /**
     * Get convocatorias
     *
     * @return \colciencias\Bundle\WebBundle\Entity\Convocatorias 
     */
    public function getConvocatorias()
    {
        return $this->convocatorias;
    }

    /**
     * Add criterios
     *
     * @param \colciencias\Bundle\WebBundle\Entity\Criterios $criterios
     * @return Evaluaciones
     */
    public function addCriterio(\colciencias\Bundle\WebBundle\Entity\Criterios $criterios)
    {
        $this->criterios[] = $criterios;

        return $this;
    }

    /**
     * Remove criterios
     *
     * @param \colciencias\Bundle\WebBundle\Entity\Criterios $criterios
     */
    public function removeCriterio(\colciencias\Bundle\WebBundle\Entity\Criterios $criterios)
    {
        $this->criterios->removeElement($criterios);
    }

    /**
     * Get criterios
     *
     * @return \Doctrine\Common\Collections\Collection 
     */
    public function getCriterios()
    {
        return $this->criterios;
    }
}
